package gui.awt;

import java.awt.*;

/**
 * FlowLayout           流式布局管理器
 * 组件从左到右、从上到下，一个挨一个的放在容器中。
 * （Panel和Applet的默认容器布局）
 * 如果容器足够宽，第一个组件先添加到容器中第一行的最左边，
 * 后续的组件依次添加到上一个组件的右边，
 * 如果当前行已放置不下该组件，则放置到下一行的最左边。
 *
 * FlowLayout的对齐方式默认为居中对齐
 * */
public class FlowLayoutDemo {
    public static void main(String[] args) {
        Frame frame = new Frame("FlowLayout");
        int x = 100, y = 200, width = 600, height = 300;
        frame.setBounds(x, y, width, height);   // 设置窗口大小和显示位置
        FlowLayout flow = new FlowLayout();
        flow.setAlignment(FlowLayout.RIGHT);     // 设置流式布局水平方向的对齐方式为左对齐
                                /*
                                * 设置对齐方式
                                * FlowLayout.LEFT       左对齐
                                * FlowLayout.CENTER     居中对齐
                                * FlowLayout.RIGHT      右对齐
                                * */
        // 也可以直接使用构造函数
        // FlowLayout flow = new FlowLayout(FlowLayout.LEFT,20,40); //三个参数，对齐方式（居左，横向间隔20像素，纵向间隔40像素）
        frame.setLayout(flow);      // 设置为流式布局管理器
        Color[] colors = {Color.cyan, Color.gray, Color.yellow, Color.red, Color.green};
        for(int i = 0; i < 5; i++) {
            Button btn = new Button("button" + (i + 1));
            btn.setBackground(colors[i]);
            frame.add(btn);
        }
        frame.setVisible(true);
    }
}
